<?php

require_once("controller/Controller.class.php");
require_once("model/LoginModel.class.php");
require_once("view/LoginView.class.php");
                            
class loginController extends Controller
{
    // o loginController vai agregar loginModel e 
    // loginView entao criamos esses objetos aqui

    /**
     * @var loginModel
     */
    private $model;

    /**
     * @var loginView
     */
    private $view;

    public function __construct()
    {
        // instanciamos os objetos
        $this->model = new loginModel();
        $this->view = new loginView();
    }

    public function telaLogin()
    {
        // o metodo contrutor ja chama a view do 
        // login pra exibir a tela de login
        
        $this->view->atribuirValor('titulo', 'Login');
        $this->view->atribuirValor('nome', 'Acesso');
        
        $this->view->exibirTelaLogin();
    }

    public function fazerLogin()
    {
        // tenta ver se o usuario colocou a senha certa
        if ($this->model->verificarSenhaUsuario($_POST['usuario'], $_POST['senha'])) {
            $this->gravaSessao();
            $this->log('usuario logou');
            $this->view->exibirTelaLogado();
        } else {
            $this->log('usuario tentou logar mas nao conseguiu');
            $this->view->exibirTelaErro();
        }
    }

    /**
     * Esse metodo é private, significando que 
     * so pode ser chamado dentro da classe
     */
    private function gravaSessao()
    {
        // grava a sessao usando session ou cookie
    }

    /**
     * Esse metodo é private, significando que
     * so podem ser chamando dentro da classe
     */
    private function apagaSessao()
    {
        // limpa a sessao ou cookie
    }
}
?>